package com.example.jeudupendu;

import java.util.ArrayList;

public class Partie {
	/*variables de classes*/
	private String mon_mot;
	private String mon_aide;
	private String mon_mot_secret;
	private int nb_coups;
	private boolean partie_gagnee, partie_perdue;
	/*Getter only*/
	public String getMon_mot() {
		return mon_mot;
	}
	public String getMon_aide() {
		return mon_aide;
	}
	public String getMon_mot_secret() {
		return mon_mot_secret;
	}
	public int getNb_coups() {
		return nb_coups;
	}
	public boolean isPartie_gagnee() {
		return partie_gagnee;
	}
	public boolean isPartie_perdue() {
		return partie_perdue;
	}
	/*Constructeur*/
	public Partie(String vligne){
		String[] lsplit=vligne.split("@@@", 2);
		mon_mot = lsplit[0];
		mon_aide = lsplit[1];
		nb_coups=0;
		mon_mot_secret="";
		for(int i=0; i<mon_mot.length(); i++){
			mon_mot_secret=mon_mot_secret+"*";
		}
		partie_gagnee=false;
		partie_perdue=false;
	}
	public void modifier_mot_secret(char c){
		char[] chararraym= mon_mot.toCharArray(); //on découpe le mot dans un tableau de string
		char[] chararrayms= mon_mot_secret.toCharArray(); //meme chose avec le mot secret
		int coupGagne =0;
		mon_mot_secret=""; // le mot secret est réinitialisé
		for(int i=0; i<chararraym.length; i++){ // on parcours de tous les caractères du mot
			if(chararraym[i]!=chararrayms[i]){ //si le caractère pointé est différent du caractère présent dans le mot secret
				if(c==chararraym[i]){ //si le caractère passé en paramètre est le même que le caractère du mot alors on affiche ce caractère sinon on affiche un *
					mon_mot_secret=mon_mot_secret+c;
					coupGagne++;
				}
				else{
					mon_mot_secret=mon_mot_secret+"*";
				}
			}
			else{
				mon_mot_secret=mon_mot_secret+chararrayms[i];
			}
		}
		if(coupGagne==0){
			nb_coups++;
		}
		if(mon_mot_secret.equals(mon_mot)){
			partie_gagnee=true;
		}
		if(nb_coups==7){
			partie_perdue=true;
		}
		return;
	}
	public void verif_mot(String mot) {
		if(mot.equals(mon_mot)){
			partie_gagnee=true;
		}else
		{
			nb_coups++;
		}
		if(nb_coups==7){
			partie_perdue=true;
		}
		return;
	}
}
